# Run

- 服务编排

## 服务启动顺序:

> 服务启动顺序:

1. 中间件服务: 配置中心, 服务注册中心, 服务发现中心, 服务网关, 服务监控中心
2. 基础设施服务: 短信服务, 邮件服务, 推送服务
3. 核心服务: 帐号系统, 登录系统, 权限系统

> 服务定级标准:

1. 服务的重要性: 基础中间件先启动, 短信服务, 邮件服务, 推送服务
2. 核心服务: 帐号系统, 登录系统, 权限系统

### L0 中间件:

- `首先`启动

| 服务名称   | 服务定级 | 服务启动顺序 | 服务依赖 | 服务描述             |
|--------|------|--------|------|------------------|
| 数据库    | L0   | 1      | 无    | mysql            |
| 缓存     | L0   | 1      | 无    | redis            |
| 服务注册中心 | L0   | 1      | 无    | consul/etcd      |
| 消息队列   | L0   | 1      | 无    | kafka/rabbitmq   |
| 配置中心   | L0   | 2      | 无    | 配置中心 consul/etcd |
| 服务网关   | L0   | 2      | 无    | 服务网关             |
| 服务监控中心 | L0   | 2      | 无    | 服务监控中心           |

### L1 基础设施服务:

- 依赖`中间件`服务先启动

| 服务名称 | 服务定级 | 服务启动顺序 | 服务依赖 | 服务描述 |
|------|------|--------|------|------|
| 短信服务 | L1   | 1      | 无    | 短信服务 |
| 邮件服务 | L1   | 1      | 无    | 邮件服务 |
| 推送服务 | L1   | 1      | 无    | 推送服务 |

### L2 核心服务:

- 依赖`中间件`服务先启动
- 依赖`基础设施`服务先启动

| 服务名称 | 服务定级 | 服务启动顺序 | 服务依赖 | 服务描述 |
|------|------|--------|------|------|
| 帐号系统 | L2   | 4      | 无    | 帐号系统 |
| 登录系统 | L2   | 4      | 无    | 登录系统 |
| 权限系统 | L2   | 4      | 无    | 权限系统 |

### L3 业务服务(重要):

- 依赖`核心服务`先启动

| 服务名称  | 服务定级 | 服务启动顺序 | 服务依赖 | 服务描述  |
|-------|------|--------|------|-------|
| 商品服务  | L3   | 1      | 无    | 商品服务  |
| 订单服务  | L3   | 1      | 无    | 订单服务  |
| 支付服务  | L3   | 1      | 无    | 支付服务  |
| 评论服务  | L3   | 1      | 无    | 评论服务  |
| 搜索服务  | L3   | 1      | 无    | 搜索服务  |
| 购物车服务 | L3   | 1      | 无    | 购物车服务 |
| 退货服务  | L3   | 1      | 无    | 退货服务  |
| 退款服务  | L3   | 1      | 无    | 退款服务  |
| 会员服务  | L4   | 1      | 无    | 会员服务  |

### L4 业务服务(次要):

| 服务名称  | 服务定级 | 服务启动顺序 | 服务依赖 | 服务描述  |
|-------|------|--------|------|-------|
| 促销服务  | L4   | 1      | 无    | 促销服务  |
| 优惠券服务 | L4   | 1      | 无    | 优惠券服务 |
| 积分服务  | L4   | 1      | 无    | 积分服务  |
| 收藏服务  | L3   | 1      | 无    | 收藏服务  |

## 服务编排:

- 服务编排: 服务编排是指服务的启动顺序, 服务的依赖关系, 服务的定级等等
- 服务编排的目的: 服务编排的目的是为了保证服务的高可用, 服务的稳定性, 服务的可扩展性


